#!/bin/bash
#
#       /etc/rc.d/init.d/supervisord
# supervisord   This shell script takes care of starting and stopping
#               supervisord.  Tested on Fedora 11.
#
# Author: Brian Bouterse bmbouter@gmail.com
#
# chkconfig: 345 80 80
# description: supervisord is a client/server process control system. \
# processname: supervisord
# pidfile: /var/run/supervisord.pid

# Source function library.
. /etc/init.d/functions

DAEMON=/usr/local/bin/supervisord
PIDFILE=/var/run/supervisord.pid

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

start() {
        echo -n "Starting supervisord: "
        if [ -f $PIDFILE ]; then
                PID=`cat $PIDFILE`
                echo supervisord already running: $PID
                exit 2;
        else
                daemon  $DAEMON --pidfile=$PIDFILE
                RETVAL=$?
                echo
                [ $RETVAL -eq 0 ] && touch /var/lock/subsys/supervisord
                return $RETVAL
        fi

}

stop() {
        echo -n "Shutting down supervisord: "
        echo
        killproc -p $PIDFILE supervisord
        echo
        rm -f /var/lock/subsys/supervisord
        return 0
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status supervisord
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage:  {start|stop|status|restart}"
        exit 1
        ;;
esac
exit $?
